package org.dromara.tool;

import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.web.service.impl.TaskScheduler2;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

/**
 * 默认的Cron表达式启动器
 *
 * @author Zou
 */
@Component
@RequiredArgsConstructor
@Slf4j
public class DefaultCronExpressionRunner implements CommandLineRunner {
    private static final String INVALID_CRON = "0 0 0 30 2 ?"; // 永不触发的合法表达式
    private final TaskScheduler2 taskScheduler;

    @Override
    public void run(String... args) {
        // 设置初始的 cron 表达式为无效值
        if (taskScheduler != null) {
            // 启动定时任务，使用默认的 cron 表达式
            taskScheduler.startScheduledTask(INVALID_CRON, "jobServiceTestImpl", "defaultTest");
            log.info("设置的初始 cron 表达式为：{}", INVALID_CRON);
        } else {
            log.error("cron表达式为空");
        }
    }
}
